package com.xxx.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xxx.article.domain.Article;

/**
 * @author blijojo
 */
public interface ArticleService extends IService<Article> {

    /**
     * 订阅或者取消订阅文章作者
     *
     * @param articleId 文章id
     * @param userId    用户id(订阅者)
     * @return true:订阅, false:取消订阅
     */
    Boolean subscribe(String articleId, String userId);

    /**
     * 新增文章并推送通知给订阅者
     *
     * @param article 文章
     */
    void add(Article article);

    /**
     * 点赞或者取消点赞
     * 并发送通知或删除通知
     *
     * @param articleId 文章id
     * @param userId    用户id
     * @return true:点赞 false:取消点赞
     */
    boolean thumbup(String articleId, String userId);
}
